package cn.com.nes.site.service.workOrder.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 查询安装工单列表(全部公司)
 */
@Data
public class GetWorkOrderRepairPageDTO {

    /**
     * 订单ID
     */
    private Long workOrderId;

    /**
     * 工单状态 - WorkOrderStautsEnum类
     */
    private Integer workOrderStatus;

    /**
     * 服务状态:0-待处理，显示转单、签到、导航，1-已打卡，显示转单、完成，3-待接单，显示拒单、待接单
     */
    private Integer workOrderServiceStatus;

    /**
     * 订单创建时间, 格式：yyyy-MM-dd HH:mm:ss
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date workOrderCreateTime;

    /**
     * 公司ID
     */
    private String companyId;

    private String companyName;

    private String callCenterCompanyId;

    /**
     * 工单描述
     */
    private String workOrderDesc;

    /**
     * 联系人姓名
     */
    private String contactName;

    /**
     * 联系人电话
     */
    private String contactPhone;

    /**
     * 安装地址
     */
    private String installAddress;

    /**
     * 创建人id
     */
    private Long createUserId;

    /**
     * 创建人姓名
     */
    private String createUserName;

    /**
     * 任务类型ID
     */
    private Long workTypeId;

    /**
     * 紧急程度ID
     */
    private Integer emergencyDegreeId;

    /**
     * 安装工单名称
     */
    private String workOrderName;

    /**
     * 工单类型
     */
    private String workOrderType;

    /**
     * 项目id
     */
    private String projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目类型
     */
    private String projectType;

    /**
     * 安装人员id
     */
    private String maintainId;

    /**
     * 安装人员姓名
     */
    private String maintainName;

    /**
     * 工单创建人ID
     */
    private String orderCreateUserId;

    /**
     * 行政区划代码
     */
    private String areaCode;

    //质保日期
    private Date zbrq;

    //安装完成日期
    private String azrq;
    //质保期
    private Integer zbq;

    //是否质保
    private  Boolean IsWarrantyExpiry;

    private Integer handleMode;
    /**
     * 审核状态
     */
    private  String  audited;
    @ApiModelProperty(value = "是否可撤销 true - 可以撤销")
    private Boolean canCancel;

    /**
     * 拒单次数
     */
    private Integer rejectionCount = 0;
    //等的颜色
    private  String lamp;

    // 扩展参数
    private String workOrderStatusName;         // 订单状态描述
    private String workOrderServiceStatusName;  // 订单服务状态描述
    private String workTypeName;                // 任务类型描述
    private String emergencyDegreeName;         // 紧急程度描述
    private String projectTypeName;             // 项目类型名称
    private String orderCreateSource;           // 订单创建来源
    private String distributeStatusName;        // 分单状态名称
    private String areaName;                    // 行政区划名称
    private String projectUuid;                 // 项目uuid
    private String orderCreateUserName;
    private String evaluation;
    private String evaluationName;
    private String warrantyState; //是否质保
    private String systemType;
    private Long  pWorkOrderId;
}
